package com.quarters.service;

import com.quarters.bean.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.quarters.bean.UserInfo;
import com.quarters.bean.layuiBean.ResultPage;
import com.quarters.bean.layuiBean.VoPage;
import com.quarters.bean.ztree.ZtreeBean;
import me.chanjar.weixin.mp.bean.result.WxMpUser;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 个人信息 服务类
 * </p>
 *
 * @author 冯政尚
 * @since 2019-09-02
 */
public interface UserService extends IService<User> {

    /**
     * @param wxMpUser
     * @return 微信登陆
     */
    User login (WxMpUser wxMpUser);

    /**
     * @param userId
     * @return 解绑
     */
    Integer untying(Long userId);

    /**
     * @param voPage
     * @return 后台查询
     */
    ResultPage<User> selectMyPage(VoPage voPage,Long id,Integer status);

    /**
     * @param voPage
     * @return 是管理员查询所有用户
     */
    ResultPage<User> selectMyPageAll(VoPage voPage,Integer status);

    /**
     * @param userId
     * @return 发送文章查询当前用户下小区的用户
     */
    List<ZtreeBean> articleUser(Long userId);

    /**
     * @return 如果是超级管理员查询所有用户
     */
    List<ZtreeBean> articleUserAll( );


    /**
     * @param userId
     * @param quartersId
     * @param detailedFloor
     * @return 修改用户所在的小区
     */
    Integer updateByIdUser(Long userId,Long quartersId,String detailedFloor,Long time);


    /**
     * @param userId
     * @return 根据当前用户查询当前用户所管理的小区的所有用户
     */
    List<User> selectUser(Long userId);

    /**
     * @return 如果是管理员就查询所有用户
     */
    List<User> selectUserAll( );

    //查询支付订单的管理员
    User selectPayOpenId(Long orderId);


    //查询当前用户是否绑定小区
    User binding(Long userId);

}
